﻿using System;
namespace Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg {
    
    
    public partial class DetailandmedVaAsukoht : global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IDetailandmedVaAsukoht {
        
        private System.Int32? @__kaardiPiirkond;
        
        private System.Int32? @__kaardiNr;
        
        private string @__kaardiTyyp;
        
        private System.Int32? @__kandeNr;
        
        private string @__aadressRiik;
        
        private string @__aadressRiikTekstina;
        
        private string @__aadress;
        
        private string @__postiindeks;
        
        private System.DateTime? @__algusKpv;
        
        private System.DateTime? @__loppKpv;
        
        public DetailandmedVaAsukoht() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public DetailandmedVaAsukoht(System.Int32? @kaardiPiirkond, System.Int32? @kaardiNr, string @kaardiTyyp, System.Int32? @kandeNr, string @aadressRiik, string @aadressRiikTekstina, string @aadress, string @postiindeks, System.DateTime? @algusKpv, System.DateTime? @loppKpv) {
            this.@__kaardiPiirkond = @kaardiPiirkond;
            this.@__kaardiNr = @kaardiNr;
            this.@__kaardiTyyp = @kaardiTyyp;
            this.@__kandeNr = @kandeNr;
            this.@__aadressRiik = @aadressRiik;
            this.@__aadressRiikTekstina = @aadressRiikTekstina;
            this.@__aadress = @aadress;
            this.@__postiindeks = @postiindeks;
            this.@__algusKpv = @algusKpv;
            this.@__loppKpv = @loppKpv;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected DetailandmedVaAsukoht(IDetailandmedVaAsukoht @detailandmedVaAsukoht) {
            this.@__kaardiPiirkond = @detailandmedVaAsukoht.KaardiPiirkond;
            this.@__kaardiNr = @detailandmedVaAsukoht.KaardiNr;
            this.@__kaardiTyyp = @detailandmedVaAsukoht.KaardiTyyp;
            this.@__kandeNr = @detailandmedVaAsukoht.KandeNr;
            this.@__aadressRiik = @detailandmedVaAsukoht.AadressRiik;
            this.@__aadressRiikTekstina = @detailandmedVaAsukoht.AadressRiikTekstina;
            this.@__aadress = @detailandmedVaAsukoht.Aadress;
            this.@__postiindeks = @detailandmedVaAsukoht.Postiindeks;
            this.@__algusKpv = @detailandmedVaAsukoht.AlgusKpv;
            this.@__loppKpv = @detailandmedVaAsukoht.LoppKpv;
        }
        
        public virtual System.Int32? KaardiPiirkond {
            get {
                return this.@__kaardiPiirkond;
            }
            set {
                this.@__kaardiPiirkond = value;
            }
        }
        
        public virtual System.Int32? KaardiNr {
            get {
                return this.@__kaardiNr;
            }
            set {
                this.@__kaardiNr = value;
            }
        }
        
        public virtual string KaardiTyyp {
            get {
                return this.@__kaardiTyyp;
            }
            set {
                this.@__kaardiTyyp = value;
            }
        }
        
        public virtual System.Int32? KandeNr {
            get {
                return this.@__kandeNr;
            }
            set {
                this.@__kandeNr = value;
            }
        }
        
        public virtual string AadressRiik {
            get {
                return this.@__aadressRiik;
            }
            set {
                this.@__aadressRiik = value;
            }
        }
        
        public virtual string AadressRiikTekstina {
            get {
                return this.@__aadressRiikTekstina;
            }
            set {
                this.@__aadressRiikTekstina = value;
            }
        }
        
        public virtual string Aadress {
            get {
                return this.@__aadress;
            }
            set {
                this.@__aadress = value;
            }
        }
        
        public virtual string Postiindeks {
            get {
                return this.@__postiindeks;
            }
            set {
                this.@__postiindeks = value;
            }
        }
        
        public virtual System.DateTime? AlgusKpv {
            get {
                return this.@__algusKpv;
            }
            set {
                this.@__algusKpv = value;
            }
        }
        
        public virtual System.DateTime? LoppKpv {
            get {
                return this.@__loppKpv;
            }
            set {
                this.@__loppKpv = value;
            }
        }
    }
}
